package com.xbao.model;

import java.util.ArrayList;
import java.util.List;

public class StuContractExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Integer offset;

    public StuContractExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andSidIsNull() {
            addCriterion("sid is null");
            return (Criteria) this;
        }

        public Criteria andSidIsNotNull() {
            addCriterion("sid is not null");
            return (Criteria) this;
        }

        public Criteria andSidEqualTo(Long value) {
            addCriterion("sid =", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidNotEqualTo(Long value) {
            addCriterion("sid <>", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidGreaterThan(Long value) {
            addCriterion("sid >", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidGreaterThanOrEqualTo(Long value) {
            addCriterion("sid >=", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidLessThan(Long value) {
            addCriterion("sid <", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidLessThanOrEqualTo(Long value) {
            addCriterion("sid <=", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidIn(List<Long> values) {
            addCriterion("sid in", values, "sid");
            return (Criteria) this;
        }

        public Criteria andSidNotIn(List<Long> values) {
            addCriterion("sid not in", values, "sid");
            return (Criteria) this;
        }

        public Criteria andSidBetween(Long value1, Long value2) {
            addCriterion("sid between", value1, value2, "sid");
            return (Criteria) this;
        }

        public Criteria andSidNotBetween(Long value1, Long value2) {
            addCriterion("sid not between", value1, value2, "sid");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNull() {
            addCriterion("createtime is null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNotNull() {
            addCriterion("createtime is not null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeEqualTo(Long value) {
            addCriterion("createtime =", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotEqualTo(Long value) {
            addCriterion("createtime <>", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThan(Long value) {
            addCriterion("createtime >", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThanOrEqualTo(Long value) {
            addCriterion("createtime >=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThan(Long value) {
            addCriterion("createtime <", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThanOrEqualTo(Long value) {
            addCriterion("createtime <=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIn(List<Long> values) {
            addCriterion("createtime in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotIn(List<Long> values) {
            addCriterion("createtime not in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeBetween(Long value1, Long value2) {
            addCriterion("createtime between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotBetween(Long value1, Long value2) {
            addCriterion("createtime not between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andBegintimeIsNull() {
            addCriterion("begintime is null");
            return (Criteria) this;
        }

        public Criteria andBegintimeIsNotNull() {
            addCriterion("begintime is not null");
            return (Criteria) this;
        }

        public Criteria andBegintimeEqualTo(Long value) {
            addCriterion("begintime =", value, "begintime");
            return (Criteria) this;
        }

        public Criteria andBegintimeNotEqualTo(Long value) {
            addCriterion("begintime <>", value, "begintime");
            return (Criteria) this;
        }

        public Criteria andBegintimeGreaterThan(Long value) {
            addCriterion("begintime >", value, "begintime");
            return (Criteria) this;
        }

        public Criteria andBegintimeGreaterThanOrEqualTo(Long value) {
            addCriterion("begintime >=", value, "begintime");
            return (Criteria) this;
        }

        public Criteria andBegintimeLessThan(Long value) {
            addCriterion("begintime <", value, "begintime");
            return (Criteria) this;
        }

        public Criteria andBegintimeLessThanOrEqualTo(Long value) {
            addCriterion("begintime <=", value, "begintime");
            return (Criteria) this;
        }

        public Criteria andBegintimeIn(List<Long> values) {
            addCriterion("begintime in", values, "begintime");
            return (Criteria) this;
        }

        public Criteria andBegintimeNotIn(List<Long> values) {
            addCriterion("begintime not in", values, "begintime");
            return (Criteria) this;
        }

        public Criteria andBegintimeBetween(Long value1, Long value2) {
            addCriterion("begintime between", value1, value2, "begintime");
            return (Criteria) this;
        }

        public Criteria andBegintimeNotBetween(Long value1, Long value2) {
            addCriterion("begintime not between", value1, value2, "begintime");
            return (Criteria) this;
        }

        public Criteria andEndtimeIsNull() {
            addCriterion("endtime is null");
            return (Criteria) this;
        }

        public Criteria andEndtimeIsNotNull() {
            addCriterion("endtime is not null");
            return (Criteria) this;
        }

        public Criteria andEndtimeEqualTo(Long value) {
            addCriterion("endtime =", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeNotEqualTo(Long value) {
            addCriterion("endtime <>", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeGreaterThan(Long value) {
            addCriterion("endtime >", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeGreaterThanOrEqualTo(Long value) {
            addCriterion("endtime >=", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeLessThan(Long value) {
            addCriterion("endtime <", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeLessThanOrEqualTo(Long value) {
            addCriterion("endtime <=", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeIn(List<Long> values) {
            addCriterion("endtime in", values, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeNotIn(List<Long> values) {
            addCriterion("endtime not in", values, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeBetween(Long value1, Long value2) {
            addCriterion("endtime between", value1, value2, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeNotBetween(Long value1, Long value2) {
            addCriterion("endtime not between", value1, value2, "endtime");
            return (Criteria) this;
        }

        public Criteria andSubidIsNull() {
            addCriterion("subid is null");
            return (Criteria) this;
        }

        public Criteria andSubidIsNotNull() {
            addCriterion("subid is not null");
            return (Criteria) this;
        }

        public Criteria andSubidEqualTo(Long value) {
            addCriterion("subid =", value, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidNotEqualTo(Long value) {
            addCriterion("subid <>", value, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidGreaterThan(Long value) {
            addCriterion("subid >", value, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidGreaterThanOrEqualTo(Long value) {
            addCriterion("subid >=", value, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidLessThan(Long value) {
            addCriterion("subid <", value, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidLessThanOrEqualTo(Long value) {
            addCriterion("subid <=", value, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidIn(List<Long> values) {
            addCriterion("subid in", values, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidNotIn(List<Long> values) {
            addCriterion("subid not in", values, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidBetween(Long value1, Long value2) {
            addCriterion("subid between", value1, value2, "subid");
            return (Criteria) this;
        }

        public Criteria andSubidNotBetween(Long value1, Long value2) {
            addCriterion("subid not between", value1, value2, "subid");
            return (Criteria) this;
        }

        public Criteria andTotalrecordsIsNull() {
            addCriterion("totalrecords is null");
            return (Criteria) this;
        }

        public Criteria andTotalrecordsIsNotNull() {
            addCriterion("totalrecords is not null");
            return (Criteria) this;
        }

        public Criteria andTotalrecordsEqualTo(Integer value) {
            addCriterion("totalrecords =", value, "totalrecords");
            return (Criteria) this;
        }

        public Criteria andTotalrecordsNotEqualTo(Integer value) {
            addCriterion("totalrecords <>", value, "totalrecords");
            return (Criteria) this;
        }

        public Criteria andTotalrecordsGreaterThan(Integer value) {
            addCriterion("totalrecords >", value, "totalrecords");
            return (Criteria) this;
        }

        public Criteria andTotalrecordsGreaterThanOrEqualTo(Integer value) {
            addCriterion("totalrecords >=", value, "totalrecords");
            return (Criteria) this;
        }

        public Criteria andTotalrecordsLessThan(Integer value) {
            addCriterion("totalrecords <", value, "totalrecords");
            return (Criteria) this;
        }

        public Criteria andTotalrecordsLessThanOrEqualTo(Integer value) {
            addCriterion("totalrecords <=", value, "totalrecords");
            return (Criteria) this;
        }

        public Criteria andTotalrecordsIn(List<Integer> values) {
            addCriterion("totalrecords in", values, "totalrecords");
            return (Criteria) this;
        }

        public Criteria andTotalrecordsNotIn(List<Integer> values) {
            addCriterion("totalrecords not in", values, "totalrecords");
            return (Criteria) this;
        }

        public Criteria andTotalrecordsBetween(Integer value1, Integer value2) {
            addCriterion("totalrecords between", value1, value2, "totalrecords");
            return (Criteria) this;
        }

        public Criteria andTotalrecordsNotBetween(Integer value1, Integer value2) {
            addCriterion("totalrecords not between", value1, value2, "totalrecords");
            return (Criteria) this;
        }

        public Criteria andChargetimeIsNull() {
            addCriterion("chargetime is null");
            return (Criteria) this;
        }

        public Criteria andChargetimeIsNotNull() {
            addCriterion("chargetime is not null");
            return (Criteria) this;
        }

        public Criteria andChargetimeEqualTo(Long value) {
            addCriterion("chargetime =", value, "chargetime");
            return (Criteria) this;
        }

        public Criteria andChargetimeNotEqualTo(Long value) {
            addCriterion("chargetime <>", value, "chargetime");
            return (Criteria) this;
        }

        public Criteria andChargetimeGreaterThan(Long value) {
            addCriterion("chargetime >", value, "chargetime");
            return (Criteria) this;
        }

        public Criteria andChargetimeGreaterThanOrEqualTo(Long value) {
            addCriterion("chargetime >=", value, "chargetime");
            return (Criteria) this;
        }

        public Criteria andChargetimeLessThan(Long value) {
            addCriterion("chargetime <", value, "chargetime");
            return (Criteria) this;
        }

        public Criteria andChargetimeLessThanOrEqualTo(Long value) {
            addCriterion("chargetime <=", value, "chargetime");
            return (Criteria) this;
        }

        public Criteria andChargetimeIn(List<Long> values) {
            addCriterion("chargetime in", values, "chargetime");
            return (Criteria) this;
        }

        public Criteria andChargetimeNotIn(List<Long> values) {
            addCriterion("chargetime not in", values, "chargetime");
            return (Criteria) this;
        }

        public Criteria andChargetimeBetween(Long value1, Long value2) {
            addCriterion("chargetime between", value1, value2, "chargetime");
            return (Criteria) this;
        }

        public Criteria andChargetimeNotBetween(Long value1, Long value2) {
            addCriterion("chargetime not between", value1, value2, "chargetime");
            return (Criteria) this;
        }

        public Criteria andTypeIsNull() {
            addCriterion("type is null");
            return (Criteria) this;
        }

        public Criteria andTypeIsNotNull() {
            addCriterion("type is not null");
            return (Criteria) this;
        }

        public Criteria andTypeEqualTo(Integer value) {
            addCriterion("type =", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotEqualTo(Integer value) {
            addCriterion("type <>", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThan(Integer value) {
            addCriterion("type >", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("type >=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThan(Integer value) {
            addCriterion("type <", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThanOrEqualTo(Integer value) {
            addCriterion("type <=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeIn(List<Integer> values) {
            addCriterion("type in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotIn(List<Integer> values) {
            addCriterion("type not in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeBetween(Integer value1, Integer value2) {
            addCriterion("type between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("type not between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andPayableIsNull() {
            addCriterion("payable is null");
            return (Criteria) this;
        }

        public Criteria andPayableIsNotNull() {
            addCriterion("payable is not null");
            return (Criteria) this;
        }

        public Criteria andPayableEqualTo(Integer value) {
            addCriterion("payable =", value, "payable");
            return (Criteria) this;
        }

        public Criteria andPayableNotEqualTo(Integer value) {
            addCriterion("payable <>", value, "payable");
            return (Criteria) this;
        }

        public Criteria andPayableGreaterThan(Integer value) {
            addCriterion("payable >", value, "payable");
            return (Criteria) this;
        }

        public Criteria andPayableGreaterThanOrEqualTo(Integer value) {
            addCriterion("payable >=", value, "payable");
            return (Criteria) this;
        }

        public Criteria andPayableLessThan(Integer value) {
            addCriterion("payable <", value, "payable");
            return (Criteria) this;
        }

        public Criteria andPayableLessThanOrEqualTo(Integer value) {
            addCriterion("payable <=", value, "payable");
            return (Criteria) this;
        }

        public Criteria andPayableIn(List<Integer> values) {
            addCriterion("payable in", values, "payable");
            return (Criteria) this;
        }

        public Criteria andPayableNotIn(List<Integer> values) {
            addCriterion("payable not in", values, "payable");
            return (Criteria) this;
        }

        public Criteria andPayableBetween(Integer value1, Integer value2) {
            addCriterion("payable between", value1, value2, "payable");
            return (Criteria) this;
        }

        public Criteria andPayableNotBetween(Integer value1, Integer value2) {
            addCriterion("payable not between", value1, value2, "payable");
            return (Criteria) this;
        }

        public Criteria andPayrealIsNull() {
            addCriterion("payreal is null");
            return (Criteria) this;
        }

        public Criteria andPayrealIsNotNull() {
            addCriterion("payreal is not null");
            return (Criteria) this;
        }

        public Criteria andPayrealEqualTo(Integer value) {
            addCriterion("payreal =", value, "payreal");
            return (Criteria) this;
        }

        public Criteria andPayrealNotEqualTo(Integer value) {
            addCriterion("payreal <>", value, "payreal");
            return (Criteria) this;
        }

        public Criteria andPayrealGreaterThan(Integer value) {
            addCriterion("payreal >", value, "payreal");
            return (Criteria) this;
        }

        public Criteria andPayrealGreaterThanOrEqualTo(Integer value) {
            addCriterion("payreal >=", value, "payreal");
            return (Criteria) this;
        }

        public Criteria andPayrealLessThan(Integer value) {
            addCriterion("payreal <", value, "payreal");
            return (Criteria) this;
        }

        public Criteria andPayrealLessThanOrEqualTo(Integer value) {
            addCriterion("payreal <=", value, "payreal");
            return (Criteria) this;
        }

        public Criteria andPayrealIn(List<Integer> values) {
            addCriterion("payreal in", values, "payreal");
            return (Criteria) this;
        }

        public Criteria andPayrealNotIn(List<Integer> values) {
            addCriterion("payreal not in", values, "payreal");
            return (Criteria) this;
        }

        public Criteria andPayrealBetween(Integer value1, Integer value2) {
            addCriterion("payreal between", value1, value2, "payreal");
            return (Criteria) this;
        }

        public Criteria andPayrealNotBetween(Integer value1, Integer value2) {
            addCriterion("payreal not between", value1, value2, "payreal");
            return (Criteria) this;
        }

        public Criteria andDiscountrateIsNull() {
            addCriterion("discountrate is null");
            return (Criteria) this;
        }

        public Criteria andDiscountrateIsNotNull() {
            addCriterion("discountrate is not null");
            return (Criteria) this;
        }

        public Criteria andDiscountrateEqualTo(Integer value) {
            addCriterion("discountrate =", value, "discountrate");
            return (Criteria) this;
        }

        public Criteria andDiscountrateNotEqualTo(Integer value) {
            addCriterion("discountrate <>", value, "discountrate");
            return (Criteria) this;
        }

        public Criteria andDiscountrateGreaterThan(Integer value) {
            addCriterion("discountrate >", value, "discountrate");
            return (Criteria) this;
        }

        public Criteria andDiscountrateGreaterThanOrEqualTo(Integer value) {
            addCriterion("discountrate >=", value, "discountrate");
            return (Criteria) this;
        }

        public Criteria andDiscountrateLessThan(Integer value) {
            addCriterion("discountrate <", value, "discountrate");
            return (Criteria) this;
        }

        public Criteria andDiscountrateLessThanOrEqualTo(Integer value) {
            addCriterion("discountrate <=", value, "discountrate");
            return (Criteria) this;
        }

        public Criteria andDiscountrateIn(List<Integer> values) {
            addCriterion("discountrate in", values, "discountrate");
            return (Criteria) this;
        }

        public Criteria andDiscountrateNotIn(List<Integer> values) {
            addCriterion("discountrate not in", values, "discountrate");
            return (Criteria) this;
        }

        public Criteria andDiscountrateBetween(Integer value1, Integer value2) {
            addCriterion("discountrate between", value1, value2, "discountrate");
            return (Criteria) this;
        }

        public Criteria andDiscountrateNotBetween(Integer value1, Integer value2) {
            addCriterion("discountrate not between", value1, value2, "discountrate");
            return (Criteria) this;
        }

        public Criteria andDiscountIsNull() {
            addCriterion("discount is null");
            return (Criteria) this;
        }

        public Criteria andDiscountIsNotNull() {
            addCriterion("discount is not null");
            return (Criteria) this;
        }

        public Criteria andDiscountEqualTo(Integer value) {
            addCriterion("discount =", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountNotEqualTo(Integer value) {
            addCriterion("discount <>", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountGreaterThan(Integer value) {
            addCriterion("discount >", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountGreaterThanOrEqualTo(Integer value) {
            addCriterion("discount >=", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountLessThan(Integer value) {
            addCriterion("discount <", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountLessThanOrEqualTo(Integer value) {
            addCriterion("discount <=", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountIn(List<Integer> values) {
            addCriterion("discount in", values, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountNotIn(List<Integer> values) {
            addCriterion("discount not in", values, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountBetween(Integer value1, Integer value2) {
            addCriterion("discount between", value1, value2, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountNotBetween(Integer value1, Integer value2) {
            addCriterion("discount not between", value1, value2, "discount");
            return (Criteria) this;
        }

        public Criteria andOtherchargeIsNull() {
            addCriterion("othercharge is null");
            return (Criteria) this;
        }

        public Criteria andOtherchargeIsNotNull() {
            addCriterion("othercharge is not null");
            return (Criteria) this;
        }

        public Criteria andOtherchargeEqualTo(Integer value) {
            addCriterion("othercharge =", value, "othercharge");
            return (Criteria) this;
        }

        public Criteria andOtherchargeNotEqualTo(Integer value) {
            addCriterion("othercharge <>", value, "othercharge");
            return (Criteria) this;
        }

        public Criteria andOtherchargeGreaterThan(Integer value) {
            addCriterion("othercharge >", value, "othercharge");
            return (Criteria) this;
        }

        public Criteria andOtherchargeGreaterThanOrEqualTo(Integer value) {
            addCriterion("othercharge >=", value, "othercharge");
            return (Criteria) this;
        }

        public Criteria andOtherchargeLessThan(Integer value) {
            addCriterion("othercharge <", value, "othercharge");
            return (Criteria) this;
        }

        public Criteria andOtherchargeLessThanOrEqualTo(Integer value) {
            addCriterion("othercharge <=", value, "othercharge");
            return (Criteria) this;
        }

        public Criteria andOtherchargeIn(List<Integer> values) {
            addCriterion("othercharge in", values, "othercharge");
            return (Criteria) this;
        }

        public Criteria andOtherchargeNotIn(List<Integer> values) {
            addCriterion("othercharge not in", values, "othercharge");
            return (Criteria) this;
        }

        public Criteria andOtherchargeBetween(Integer value1, Integer value2) {
            addCriterion("othercharge between", value1, value2, "othercharge");
            return (Criteria) this;
        }

        public Criteria andOtherchargeNotBetween(Integer value1, Integer value2) {
            addCriterion("othercharge not between", value1, value2, "othercharge");
            return (Criteria) this;
        }

        public Criteria andCommentsIsNull() {
            addCriterion("comments is null");
            return (Criteria) this;
        }

        public Criteria andCommentsIsNotNull() {
            addCriterion("comments is not null");
            return (Criteria) this;
        }

        public Criteria andCommentsEqualTo(String value) {
            addCriterion("comments =", value, "comments");
            return (Criteria) this;
        }

        public Criteria andCommentsNotEqualTo(String value) {
            addCriterion("comments <>", value, "comments");
            return (Criteria) this;
        }

        public Criteria andCommentsGreaterThan(String value) {
            addCriterion("comments >", value, "comments");
            return (Criteria) this;
        }

        public Criteria andCommentsGreaterThanOrEqualTo(String value) {
            addCriterion("comments >=", value, "comments");
            return (Criteria) this;
        }

        public Criteria andCommentsLessThan(String value) {
            addCriterion("comments <", value, "comments");
            return (Criteria) this;
        }

        public Criteria andCommentsLessThanOrEqualTo(String value) {
            addCriterion("comments <=", value, "comments");
            return (Criteria) this;
        }

        public Criteria andCommentsLike(String value) {
            addCriterion("comments like", value, "comments");
            return (Criteria) this;
        }

        public Criteria andCommentsNotLike(String value) {
            addCriterion("comments not like", value, "comments");
            return (Criteria) this;
        }

        public Criteria andCommentsIn(List<String> values) {
            addCriterion("comments in", values, "comments");
            return (Criteria) this;
        }

        public Criteria andCommentsNotIn(List<String> values) {
            addCriterion("comments not in", values, "comments");
            return (Criteria) this;
        }

        public Criteria andCommentsBetween(String value1, String value2) {
            addCriterion("comments between", value1, value2, "comments");
            return (Criteria) this;
        }

        public Criteria andCommentsNotBetween(String value1, String value2) {
            addCriterion("comments not between", value1, value2, "comments");
            return (Criteria) this;
        }

        public Criteria andOperatoridIsNull() {
            addCriterion("operatorid is null");
            return (Criteria) this;
        }

        public Criteria andOperatoridIsNotNull() {
            addCriterion("operatorid is not null");
            return (Criteria) this;
        }

        public Criteria andOperatoridEqualTo(Long value) {
            addCriterion("operatorid =", value, "operatorid");
            return (Criteria) this;
        }

        public Criteria andOperatoridNotEqualTo(Long value) {
            addCriterion("operatorid <>", value, "operatorid");
            return (Criteria) this;
        }

        public Criteria andOperatoridGreaterThan(Long value) {
            addCriterion("operatorid >", value, "operatorid");
            return (Criteria) this;
        }

        public Criteria andOperatoridGreaterThanOrEqualTo(Long value) {
            addCriterion("operatorid >=", value, "operatorid");
            return (Criteria) this;
        }

        public Criteria andOperatoridLessThan(Long value) {
            addCriterion("operatorid <", value, "operatorid");
            return (Criteria) this;
        }

        public Criteria andOperatoridLessThanOrEqualTo(Long value) {
            addCriterion("operatorid <=", value, "operatorid");
            return (Criteria) this;
        }

        public Criteria andOperatoridIn(List<Long> values) {
            addCriterion("operatorid in", values, "operatorid");
            return (Criteria) this;
        }

        public Criteria andOperatoridNotIn(List<Long> values) {
            addCriterion("operatorid not in", values, "operatorid");
            return (Criteria) this;
        }

        public Criteria andOperatoridBetween(Long value1, Long value2) {
            addCriterion("operatorid between", value1, value2, "operatorid");
            return (Criteria) this;
        }

        public Criteria andOperatoridNotBetween(Long value1, Long value2) {
            addCriterion("operatorid not between", value1, value2, "operatorid");
            return (Criteria) this;
        }

        public Criteria andPaytypeIsNull() {
            addCriterion("paytype is null");
            return (Criteria) this;
        }

        public Criteria andPaytypeIsNotNull() {
            addCriterion("paytype is not null");
            return (Criteria) this;
        }

        public Criteria andPaytypeEqualTo(Integer value) {
            addCriterion("paytype =", value, "paytype");
            return (Criteria) this;
        }

        public Criteria andPaytypeNotEqualTo(Integer value) {
            addCriterion("paytype <>", value, "paytype");
            return (Criteria) this;
        }

        public Criteria andPaytypeGreaterThan(Integer value) {
            addCriterion("paytype >", value, "paytype");
            return (Criteria) this;
        }

        public Criteria andPaytypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("paytype >=", value, "paytype");
            return (Criteria) this;
        }

        public Criteria andPaytypeLessThan(Integer value) {
            addCriterion("paytype <", value, "paytype");
            return (Criteria) this;
        }

        public Criteria andPaytypeLessThanOrEqualTo(Integer value) {
            addCriterion("paytype <=", value, "paytype");
            return (Criteria) this;
        }

        public Criteria andPaytypeIn(List<Integer> values) {
            addCriterion("paytype in", values, "paytype");
            return (Criteria) this;
        }

        public Criteria andPaytypeNotIn(List<Integer> values) {
            addCriterion("paytype not in", values, "paytype");
            return (Criteria) this;
        }

        public Criteria andPaytypeBetween(Integer value1, Integer value2) {
            addCriterion("paytype between", value1, value2, "paytype");
            return (Criteria) this;
        }

        public Criteria andPaytypeNotBetween(Integer value1, Integer value2) {
            addCriterion("paytype not between", value1, value2, "paytype");
            return (Criteria) this;
        }

        public Criteria andOrgidIsNull() {
            addCriterion("orgid is null");
            return (Criteria) this;
        }

        public Criteria andOrgidIsNotNull() {
            addCriterion("orgid is not null");
            return (Criteria) this;
        }

        public Criteria andOrgidEqualTo(Long value) {
            addCriterion("orgid =", value, "orgid");
            return (Criteria) this;
        }

        public Criteria andOrgidNotEqualTo(Long value) {
            addCriterion("orgid <>", value, "orgid");
            return (Criteria) this;
        }

        public Criteria andOrgidGreaterThan(Long value) {
            addCriterion("orgid >", value, "orgid");
            return (Criteria) this;
        }

        public Criteria andOrgidGreaterThanOrEqualTo(Long value) {
            addCriterion("orgid >=", value, "orgid");
            return (Criteria) this;
        }

        public Criteria andOrgidLessThan(Long value) {
            addCriterion("orgid <", value, "orgid");
            return (Criteria) this;
        }

        public Criteria andOrgidLessThanOrEqualTo(Long value) {
            addCriterion("orgid <=", value, "orgid");
            return (Criteria) this;
        }

        public Criteria andOrgidIn(List<Long> values) {
            addCriterion("orgid in", values, "orgid");
            return (Criteria) this;
        }

        public Criteria andOrgidNotIn(List<Long> values) {
            addCriterion("orgid not in", values, "orgid");
            return (Criteria) this;
        }

        public Criteria andOrgidBetween(Long value1, Long value2) {
            addCriterion("orgid between", value1, value2, "orgid");
            return (Criteria) this;
        }

        public Criteria andOrgidNotBetween(Long value1, Long value2) {
            addCriterion("orgid not between", value1, value2, "orgid");
            return (Criteria) this;
        }

        public Criteria andDiscounttypeIsNull() {
            addCriterion("discounttype is null");
            return (Criteria) this;
        }

        public Criteria andDiscounttypeIsNotNull() {
            addCriterion("discounttype is not null");
            return (Criteria) this;
        }

        public Criteria andDiscounttypeEqualTo(Integer value) {
            addCriterion("discounttype =", value, "discounttype");
            return (Criteria) this;
        }

        public Criteria andDiscounttypeNotEqualTo(Integer value) {
            addCriterion("discounttype <>", value, "discounttype");
            return (Criteria) this;
        }

        public Criteria andDiscounttypeGreaterThan(Integer value) {
            addCriterion("discounttype >", value, "discounttype");
            return (Criteria) this;
        }

        public Criteria andDiscounttypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("discounttype >=", value, "discounttype");
            return (Criteria) this;
        }

        public Criteria andDiscounttypeLessThan(Integer value) {
            addCriterion("discounttype <", value, "discounttype");
            return (Criteria) this;
        }

        public Criteria andDiscounttypeLessThanOrEqualTo(Integer value) {
            addCriterion("discounttype <=", value, "discounttype");
            return (Criteria) this;
        }

        public Criteria andDiscounttypeIn(List<Integer> values) {
            addCriterion("discounttype in", values, "discounttype");
            return (Criteria) this;
        }

        public Criteria andDiscounttypeNotIn(List<Integer> values) {
            addCriterion("discounttype not in", values, "discounttype");
            return (Criteria) this;
        }

        public Criteria andDiscounttypeBetween(Integer value1, Integer value2) {
            addCriterion("discounttype between", value1, value2, "discounttype");
            return (Criteria) this;
        }

        public Criteria andDiscounttypeNotBetween(Integer value1, Integer value2) {
            addCriterion("discounttype not between", value1, value2, "discounttype");
            return (Criteria) this;
        }

        public Criteria andSinglechargeIsNull() {
            addCriterion("singlecharge is null");
            return (Criteria) this;
        }

        public Criteria andSinglechargeIsNotNull() {
            addCriterion("singlecharge is not null");
            return (Criteria) this;
        }

        public Criteria andSinglechargeEqualTo(Integer value) {
            addCriterion("singlecharge =", value, "singlecharge");
            return (Criteria) this;
        }

        public Criteria andSinglechargeNotEqualTo(Integer value) {
            addCriterion("singlecharge <>", value, "singlecharge");
            return (Criteria) this;
        }

        public Criteria andSinglechargeGreaterThan(Integer value) {
            addCriterion("singlecharge >", value, "singlecharge");
            return (Criteria) this;
        }

        public Criteria andSinglechargeGreaterThanOrEqualTo(Integer value) {
            addCriterion("singlecharge >=", value, "singlecharge");
            return (Criteria) this;
        }

        public Criteria andSinglechargeLessThan(Integer value) {
            addCriterion("singlecharge <", value, "singlecharge");
            return (Criteria) this;
        }

        public Criteria andSinglechargeLessThanOrEqualTo(Integer value) {
            addCriterion("singlecharge <=", value, "singlecharge");
            return (Criteria) this;
        }

        public Criteria andSinglechargeIn(List<Integer> values) {
            addCriterion("singlecharge in", values, "singlecharge");
            return (Criteria) this;
        }

        public Criteria andSinglechargeNotIn(List<Integer> values) {
            addCriterion("singlecharge not in", values, "singlecharge");
            return (Criteria) this;
        }

        public Criteria andSinglechargeBetween(Integer value1, Integer value2) {
            addCriterion("singlecharge between", value1, value2, "singlecharge");
            return (Criteria) this;
        }

        public Criteria andSinglechargeNotBetween(Integer value1, Integer value2) {
            addCriterion("singlecharge not between", value1, value2, "singlecharge");
            return (Criteria) this;
        }

        public Criteria andClasschargeIsNull() {
            addCriterion("classcharge is null");
            return (Criteria) this;
        }

        public Criteria andClasschargeIsNotNull() {
            addCriterion("classcharge is not null");
            return (Criteria) this;
        }

        public Criteria andClasschargeEqualTo(Integer value) {
            addCriterion("classcharge =", value, "classcharge");
            return (Criteria) this;
        }

        public Criteria andClasschargeNotEqualTo(Integer value) {
            addCriterion("classcharge <>", value, "classcharge");
            return (Criteria) this;
        }

        public Criteria andClasschargeGreaterThan(Integer value) {
            addCriterion("classcharge >", value, "classcharge");
            return (Criteria) this;
        }

        public Criteria andClasschargeGreaterThanOrEqualTo(Integer value) {
            addCriterion("classcharge >=", value, "classcharge");
            return (Criteria) this;
        }

        public Criteria andClasschargeLessThan(Integer value) {
            addCriterion("classcharge <", value, "classcharge");
            return (Criteria) this;
        }

        public Criteria andClasschargeLessThanOrEqualTo(Integer value) {
            addCriterion("classcharge <=", value, "classcharge");
            return (Criteria) this;
        }

        public Criteria andClasschargeIn(List<Integer> values) {
            addCriterion("classcharge in", values, "classcharge");
            return (Criteria) this;
        }

        public Criteria andClasschargeNotIn(List<Integer> values) {
            addCriterion("classcharge not in", values, "classcharge");
            return (Criteria) this;
        }

        public Criteria andClasschargeBetween(Integer value1, Integer value2) {
            addCriterion("classcharge between", value1, value2, "classcharge");
            return (Criteria) this;
        }

        public Criteria andClasschargeNotBetween(Integer value1, Integer value2) {
            addCriterion("classcharge not between", value1, value2, "classcharge");
            return (Criteria) this;
        }

        public Criteria andOnrecordIsNull() {
            addCriterion("onrecord is null");
            return (Criteria) this;
        }

        public Criteria andOnrecordIsNotNull() {
            addCriterion("onrecord is not null");
            return (Criteria) this;
        }

        public Criteria andOnrecordEqualTo(Integer value) {
            addCriterion("onrecord =", value, "onrecord");
            return (Criteria) this;
        }

        public Criteria andOnrecordNotEqualTo(Integer value) {
            addCriterion("onrecord <>", value, "onrecord");
            return (Criteria) this;
        }

        public Criteria andOnrecordGreaterThan(Integer value) {
            addCriterion("onrecord >", value, "onrecord");
            return (Criteria) this;
        }

        public Criteria andOnrecordGreaterThanOrEqualTo(Integer value) {
            addCriterion("onrecord >=", value, "onrecord");
            return (Criteria) this;
        }

        public Criteria andOnrecordLessThan(Integer value) {
            addCriterion("onrecord <", value, "onrecord");
            return (Criteria) this;
        }

        public Criteria andOnrecordLessThanOrEqualTo(Integer value) {
            addCriterion("onrecord <=", value, "onrecord");
            return (Criteria) this;
        }

        public Criteria andOnrecordIn(List<Integer> values) {
            addCriterion("onrecord in", values, "onrecord");
            return (Criteria) this;
        }

        public Criteria andOnrecordNotIn(List<Integer> values) {
            addCriterion("onrecord not in", values, "onrecord");
            return (Criteria) this;
        }

        public Criteria andOnrecordBetween(Integer value1, Integer value2) {
            addCriterion("onrecord between", value1, value2, "onrecord");
            return (Criteria) this;
        }

        public Criteria andOnrecordNotBetween(Integer value1, Integer value2) {
            addCriterion("onrecord not between", value1, value2, "onrecord");
            return (Criteria) this;
        }

        public Criteria andGiverecordsIsNull() {
            addCriterion("giverecords is null");
            return (Criteria) this;
        }

        public Criteria andGiverecordsIsNotNull() {
            addCriterion("giverecords is not null");
            return (Criteria) this;
        }

        public Criteria andGiverecordsEqualTo(Integer value) {
            addCriterion("giverecords =", value, "giverecords");
            return (Criteria) this;
        }

        public Criteria andGiverecordsNotEqualTo(Integer value) {
            addCriterion("giverecords <>", value, "giverecords");
            return (Criteria) this;
        }

        public Criteria andGiverecordsGreaterThan(Integer value) {
            addCriterion("giverecords >", value, "giverecords");
            return (Criteria) this;
        }

        public Criteria andGiverecordsGreaterThanOrEqualTo(Integer value) {
            addCriterion("giverecords >=", value, "giverecords");
            return (Criteria) this;
        }

        public Criteria andGiverecordsLessThan(Integer value) {
            addCriterion("giverecords <", value, "giverecords");
            return (Criteria) this;
        }

        public Criteria andGiverecordsLessThanOrEqualTo(Integer value) {
            addCriterion("giverecords <=", value, "giverecords");
            return (Criteria) this;
        }

        public Criteria andGiverecordsIn(List<Integer> values) {
            addCriterion("giverecords in", values, "giverecords");
            return (Criteria) this;
        }

        public Criteria andGiverecordsNotIn(List<Integer> values) {
            addCriterion("giverecords not in", values, "giverecords");
            return (Criteria) this;
        }

        public Criteria andGiverecordsBetween(Integer value1, Integer value2) {
            addCriterion("giverecords between", value1, value2, "giverecords");
            return (Criteria) this;
        }

        public Criteria andGiverecordsNotBetween(Integer value1, Integer value2) {
            addCriterion("giverecords not between", value1, value2, "giverecords");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}